package com.gcb.service;

import com.gcb.domain.bo.DockBIBO;
import com.gcb.domain.dto.WharfQueryDTO;
import com.gcb.domain.dto.WharfSaveDTO;
import com.gcb.domain.entity.Wharf;
import com.gcb.domain.vo.WharfVO;

import java.util.List;

public interface IWharfService {
    /**
     * 新增
     *
     * @param dto
     */
    void add(WharfSaveDTO dto, Long currentUserId);

    /**
     * 修改
     *
     * @param dto
     */
    void update(WharfSaveDTO dto, Long currentUserId);

    /**
     * 查询列表
     *
     * @param dto
     * @return
     */
    List<WharfVO> list(WharfQueryDTO dto);

    /**
     * 详情
     *
     * @param id
     * @return
     */
    WharfVO getDetail(Long id);

    /**
     * 批量修改状态
     *
     * @param ids
     * @param status
     */
    void batchUpdateStatus(List<Long> ids, Integer status,  Long currentUserId);

    /**
     * 批量修改码头归属商户
     *
     * @param ids
     * @param businessesId
     */
    void batchUpdateBusinesses(List<Long> ids, Long businessesId,  Long currentUserId);

    /**
     * 根据商户id查询码头
     * @param businessesId
     * @return
     */
    List<Wharf> getByBusinessesId(Long businessesId);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 查询大屏数据
     * @param flag 是否重点项目
     * @param city 城市名
     * @return 项目列表
     */
    List<DockBIBO> biList(Integer flag , String city);
}
